import request from '@/utils/request.js';

/**
 * 创建漂流瓶
 * @param {Object} data - 漂流瓶数据，包含content、type、location、isAnonymous、tag字段
 * @returns {Promise} 返回创建结果
 */
export function createBottle(data) {
  return request.post('/feed/bottle/create', data);
}

/**
 * 捡起漂流瓶
 * @returns {Promise} 返回捡到的漂流瓶
 */
export function pickBottle() {
  return request.get('/feed/bottle/pick');
}

/**
 * 查找可用的漂流瓶（不创建捡取记录）
 * @returns {Promise} 返回可用的漂流瓶列表
 */
export function findAvailableBottles() {
  return request.get('/feed/bottle/available');
}

/**
 * 确认捡取一个漂流瓶（创建捡取记录）
 * @param {number} bottleId 漂流瓶ID
 * @returns {Promise} 返回捡取的漂流瓶详情
 */
export function confirmPickBottle(bottleId) {
  return request.get(`/feed/bottle/confirm-pick?bottleId=${bottleId}`);
}

/**
 * 回复漂流瓶
 * @param {Object} data - 回复数据，包含bottleId、content、parentId等字段
 * @returns {Promise} 返回回复结果
 */
export function replyBottle(data) {
  return request.post('/feed/bottle/reply', data);
}

/**
 * 获取我的漂流瓶列表
 * @returns {Promise} 返回我的漂流瓶列表
 */
export function getMyBottleList() {
  return request.get('/feed/bottle/mine/thrown');
}

/**
 * 获取我捡到的漂流瓶列表
 * @returns {Promise} 返回我捡到的漂流瓶列表
 */
export function getMyPickedBottleList() {
  return request.get('/feed/bottle/mine/picked');
}

/**
 * 获取漂流瓶回复列表
 * @param {Number} bottleId - 漂流瓶ID
 * @param {Number} parentId - 父回复ID，可选
 * @returns {Promise} 返回回复列表
 */
export function getBottleReplyList(bottleId, parentId) {
  const params = { bottleId };
  if (parentId) {
    params.parentId = parentId;
  }
  return request.get('/feed/bottle/reply/list', { params });
} 